export interface StaticResource {
  id: string
  title: string
  content: string
}

export interface PersonalDataResponse {
  /**
   * 创建人
   */
  createBy?: number
  /**
   * 主动创建时间
   */
  createTime?: string
  /**
   * 是否删除
   */
  deleted?: number
  /**
   * 用户描述
   */
  description?: string
  /**
   * 邮箱地址
   */
  email?: string
  /**
   * 用户 id
   */
  id: number
  /**
   * 是否修改过密码，0：未修改过 1：已修改
   */
  isUpdatePwd?: IsUpdatePwd
  message?: string
  /**
   * 微信绑定用户的 id
   */
  openId?: string
  /**
   * 密码
   */
  password?: string
  roleIds: number[]
  roleNames?: string
  /**
   * 角色
   */
  roleType?: RoleType
  /**
   * 盐
   */
  salt?: string
  /**
   * 状态，1：可用 0：禁用
   */
  status?: Status
  /**
   * 手机号
   */
  tel: string
  /**
   * token
   */
  token?: string
  /**
   * 修改人
   */
  updateBy?: number
  /**
   * 修改密码操作的时间
   */
  updatePwdTime?: string
  /**
   * 被动更新时间
   */
  updateTime?: string
  /**
   * 姓名
   */
  username: string
}

/**
 * 是否修改过密码，0：未修改过 1：已修改
 */
export enum IsUpdatePwd {
  Changed = 'CHANGED',
  NoChanged = 'NO_CHANGED'
}

/**
 * 角色
 */
export enum RoleType {
  Admin = 'ADMIN',
  Student = 'STUDENT',
  SuperAdmin = 'SUPER_ADMIN'
}

/**
 * 状态，1：可用 0：禁用
 */
export enum Status {
  False = 'FALSE',
  True = 'TRUE'
}
export interface ProPageForm {
  columns: 'updateTime' | 'createTime'
  order: 'desc' | 'asc'
  offset: number
  limit: number
}
export interface LabelInfo {
  id: string
  projectId: string
  labelId: string
  labelName: string
}

export interface ProRecord {
  id: string
  createTime: string
  updateTime: string
  projectName: string
  description: string
  introduceUrl: string
  dataUrl: string
  sourceUrl: string
  projectLabelInfoVOS: LabelInfo[]
  favorite: boolean
}

export interface ProListData {
  code: string
  timestamp: number
  status: string
  success: boolean
  message: string
  data: {
    records: ProRecord[]
    total: number
    size: number
    current: number
    orders: any[] // You can replace 'any[]' with the actual type
    optimizeCountSql: boolean
    searchCount: boolean
    pages: number
  }
}
